Model-Driven Software Verification

نویسندگان

  • Gerard J. Holzmann
  • Rajeev Joshi
چکیده

In the classic approach to logic model checking, software verification requires a manually constructed artifact (the model) to be written in the language that is accepted by the model checker. The construction of such a model typically requires good knowledge of both the application being verified and of the capabilities of the model checker that is used for the verification. Inadequate knowledge of the model checker can limit the scope of verification that can be performed; inadequate knowledge of the application can undermine the validity of the verification experiment itself. In this paper we explore a different approach to software verification. With this approach, a software application can be included, without substantial change, into a verification test-hamess and then verified directly, while preserving the ability to appZy data abstraction techniques. Only the test-hamess is written in the language of the model checker. The test-hamess is used to drive the application through all its relevant states, while logical properties on its execution are checked by the model checker. To allow the model checker to track state, and avoid duplicate work, the test-hamess includes definitions of all data objects in the application that contain state information. The main objective of this paper is to introduce a powerful extension of the SPIN model checker that allows the user to directly define data abstractions in the logic verification of application level programs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Improving Software Quality in Safety-Critical Applications by Model-Driven Verification

We propose a new development scheme for quality-aware applications, quality-driven development (QDD), based on the Model-Driven Architecture (MDA) of OMG. We argue that software development in areas, such as real-time systems, should not only rely on code verification, but also on design verification, and show that a slightly extended MDA process offers the opportunity to integrate system devel...

متن کامل

The Drawbacks of model - driven Software

This short paper is an essay on the drawbacks of model driven software evolution which apply equally well to model driven software development. The idea of automatically generating code changes from a UML type model is equally enticing as that of automatically generating whole components from such a model. The drawback is that there is then nothing to test against, since there is only one descr...

متن کامل

BAS: A Case Study for Modeling and Verification in Trustable Model Driven Development

Multi-view modeling and separation of concerns are widely used to decrease the design complexity of the large-scale software system. To ensure the correctness and consistency of multi-view requirement models, the formal verification technology should be applied to the model-driven development process. However, there still lacks unified theory foundation and tool supports for the rigorous modeli...

متن کامل

A model-driven validation & verification environment for embedded systems

This paper presents a model-driven environment for HW/SW co–design and analysis of embedded systems based on the Unified Modeling Language, UML profiles for SystemC/multithread C, and the Abstract State Machine formal method. The environment supports a model-driven design methodology which provides a graphical high-level representation of hardware and software components, and allows C/C++/Syste...

متن کامل

An aspect-oriented, model-driven approach to functional hardware verification

The cost of correcting errors in the design of an embedded system’s hardware components can be higher than for its software components, making it important to test as early as possible. Testing hardware components before they are implemented involves verifying the design through either formal or more commonly, simulation-based functional verification. Performing functional verification of a har...

متن کامل

Sudoku App: Model-Driven Development of Android Apps Using OCL?

1998 ACM CR Categories: D.2.1 [Software Engineering] Requirements/Specificationslanguages; D.2.2 [Software Engineering] Design Tools and Techniquesobject-oriented design methods, state diagrams; D.2.4 [Software Engineering] Software/Program Verificationclass invariants, formal methods; F.3.1 [Logics and Meaning of Programs] Specifying and Verifying and Reasoning about Programsassertions, in...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004